package br.com.edumobi.dados.modelos;

import java.util.Date;
import java.util.List;

public class Simulado extends ObjetoGeral {

    public String titulo;
    public String descricao;
    public Classificacao classificacao;
    public List<Questao> questoes;
    public int quantidadeDeQuestoes;
    public Date duracao;

    public Simulado(Long id, String titulo, String descricao, Classificacao classificacao, int quantidadeDeQuestoes, Date duracao) {
        super(id);
        this.titulo = titulo;
        this.descricao = descricao;
        this.classificacao = classificacao;
        this.quantidadeDeQuestoes = quantidadeDeQuestoes;
        this.duracao = duracao;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof Simulado)) return false;
        if (!super.equals(o)) return false;

        Simulado simulado = (Simulado) o;

        if (quantidadeDeQuestoes != simulado.quantidadeDeQuestoes) return false;
        if (!titulo.equals(simulado.titulo)) return false;
        if (!descricao.equals(simulado.descricao)) return false;
        if (!classificacao.equals(simulado.classificacao)) return false;
        return duracao.equals(simulado.duracao);
    }

    @Override
    public int hashCode() {
        int result = super.hashCode();
        result = 31 * result + titulo.hashCode();
        result = 31 * result + descricao.hashCode();
        result = 31 * result + classificacao.hashCode();
        result = 31 * result + quantidadeDeQuestoes;
        result = 31 * result + duracao.hashCode();
        return result;
    }
}
